package main

import (
	"fmt"
	"io/ioutil"
)

func main() {

	// 错误捕获, 防止向上传递
	defer func() {
		if erro := recover(); erro != nil {
			fmt.Println(erro)
		}
	}()

	// 读取文件 ReadFile
	content, err := ioutil.ReadFile("./main.go")
	if err != nil {
		panic(err)
	}
	// 转换结果为string
	result := string(content)
	fmt.Println(result)

	// 读取目录 ReadDir
	folderList, err := ioutil.ReadDir("./") // 返回 []os.FileInfo
	if err != nil {
		panic(err)
	}
	// 遍历文件夹slice
	for _, v := range folderList {
		fmt.Println(v.Name())
	}

	// 写入文件 WriteFile
	msg := []byte("This Is File Content")
	err = ioutil.WriteFile("./ioutilWrite.txt", msg, 0644) // 文件名称/路径  , 写入的内容 , 文件权限
	if err != nil {
		panic(err)
	}
}
